structure FindEscape : sig
    val findEscape : Absyn.exp -> unit 
end =
struct
   structure A = Absyn
   structure E = ErrorMsg
   structure S = Symbol

   type depth = int

   type escEnv = (depth * bool ref) S.table

   (* traverseExp: escEnv * int * A.exp -> unit *)
   fun traverseExp (env, d, e) = ...

   (* traverseVar : escEnv * int * A.var -> unit *)
   and traverseVar (env, d, v) = ...

   (* traverseDecs : escEnv * int * A.dec list -> escEnv *)
   and traverseDecs (env, d, ds) = ...

   fun findEscape e = traverseExp (S.empty, 0, e)
end
